package com.ruoyi.wms.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 入库管理对象 wms_stock_in
 *
 * @author ruoyi
 * @date 2021-11-07
 */
public class WmsStockIn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 入库类型 */
    @Excel(name = "入库类型")
    private String wmsDictStockInType;

    /** 销售订单ID */
    @Excel(name = "销售订单ID")
    private String fkOrderUuid;
    /**仓库id*/
    @Excel(name = "仓库ID")
    private String fkStockUuid;

    /**仓位id*/
    private String fkStockPosUuid;

    /** 销售订单编号 */
    @Excel(name = "销售订单编号")
    private String docNumOrder;

    /** 订单标题 */
    @Excel(name = "订单标题")
    private String docTitleOrder;

    /** 入库员ID */
    @Excel(name = "入库员ID")
    private Long fkAttentionUserId;

    /** 采购员 */
    @Excel(name = "采购员")
    private String nickNameRequest;

    /** 单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单据时间")
    private Date docDtRequest;

    /** 单据标题 */
    @Excel(name = "单据标题")
    private String docTitleRequest;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String docNumRequest;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "入库时间")
    private Date docDt;

    /** 入库编号 */
    @Excel(name = "入库编号")
    private String docNum;

    /** 入库标题 */
    @Excel(name = "入库标题")
    private String docTitle;


    /** 入库员 */
    @Excel(name = "入库员")
    private String userNameStockIn;

    /** 主键 */
    private String stockInUuid;

    /** 仓库（字典表） */
    @Excel(name = "仓库", readConverterExp = "字=典表")
    private String wmsDictWarehouse;

    /**仓库名称*/
    @Excel(name = "仓库名称")
    private String stockName;

    /**仓位名称*/
    @Excel(name = "仓位名称")
    private String stockPosName;

    /** 采购申请表ID */
    @Excel(name = "采购申请表ID")
    private String fkPmsRequestUuid;
    private String fkItemUuidStock;


    /** 备注 */
    @Excel(name = "备注")
    private String docNote;

    /** 审核人（用户表ID） */
    @Excel(name = "审核人", readConverterExp = "用=户表ID")
    private String fkConfirmUserId;

    /** 审核人 */
    @Excel(name = "审核人")
    private String confirmUserName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDt;

    /** 审核结果（字典表） */
    @Excel(name = "审核结果", readConverterExp = "字=典表")
    private String oaDictConfirmStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String confirmNote;

    /** 采购申请编号 */
    @Excel(name = "采购申请编号")
    private String requestDocNum;

    private String itemSpecificationStock;

    private String itemNumStock;

    private String itemNameStock;
    private String wmsDictMeasuringUnitStock;
    private BigDecimal stockInQtyDetail;
    private BigDecimal differentQty;

    public BigDecimal getDifferentQty() {
        return differentQty;
    }

    public void setDifferentQty(BigDecimal differentQty) {
        this.differentQty = differentQty;
    }

    public String getFkItemUuidStock() {
        return fkItemUuidStock;
    }

    public void setFkItemUuidStock(String fkItemUuidStock) {
        this.fkItemUuidStock = fkItemUuidStock;
    }

    public String getWmsDictMeasuringUnitStock() {
        return wmsDictMeasuringUnitStock;
    }

    public void setWmsDictMeasuringUnitStock(String wmsDictMeasuringUnitStock) {
        this.wmsDictMeasuringUnitStock = wmsDictMeasuringUnitStock;
    }

    public BigDecimal getStockInQtyDetail() {
        return stockInQtyDetail;
    }

    public void setStockInQtyDetail(BigDecimal stockInQtyDetail) {
        this.stockInQtyDetail = stockInQtyDetail;
    }

    public String getItemSpecificationStock() {
        return itemSpecificationStock;
    }

    public void setItemSpecificationStock(String itemSpecificationStock) {
        this.itemSpecificationStock = itemSpecificationStock;
    }

    public String getItemNumStock() {
        return itemNumStock;
    }

    public void setItemNumStock(String itemNumStock) {
        this.itemNumStock = itemNumStock;
    }

    public String getItemNameStock() {
        return itemNameStock;
    }

    public void setItemNameStock(String itemNameStock) {
        this.itemNameStock = itemNameStock;
    }

    /** 入库单明细信息 */
    @Excel(name = "入库单明细信息")
    private List<WmsStockInDetails> wmsStockInDetailsList;

    public String getStockPosName() {
        return stockPosName;
    }

    public void setStockPosName(String stockPosName) {
        this.stockPosName = stockPosName;
    }

    public String getStockName() {
        return stockName;
    }

    public void setStockName(String stockName) {
        this.stockName = stockName;
    }

    public String getFkStockUuid() {
        return fkStockUuid;
    }

    public void setFkStockUuid(String fkStockUuid) {
        this.fkStockUuid = fkStockUuid;
    }

    public String getFkStockPosUuid() {
        return fkStockPosUuid;
    }

    public void setFkStockPosUuid(String fkStockPosUuid) {
        this.fkStockPosUuid = fkStockPosUuid;
    }

    public String getDocNumOrder() {
        return docNumOrder;
    }

    public void setDocNumOrder(String docNumOrder) {
        this.docNumOrder = docNumOrder;
    }

    public String getDocTitleOrder() {
        return docTitleOrder;
    }

    public void setDocTitleOrder(String docTitleOrder) {
        this.docTitleOrder = docTitleOrder;
    }

    public String getWmsDictStockInType() {
        return wmsDictStockInType;
    }

    public void setWmsDictStockInType(String wmsDictStockInType) {
        this.wmsDictStockInType = wmsDictStockInType;
    }

    public String getFkOrderUuid() {
        return fkOrderUuid;
    }

    public void setFkOrderUuid(String fkOrderUuid) {
        this.fkOrderUuid = fkOrderUuid;
    }

    public String getRequestDocNum() {
        return requestDocNum;
    }

    public void setRequestDocNum(String requestDocNum) {
        this.requestDocNum = requestDocNum;
    }

    public Date getDocDtRequest() {
        return docDtRequest;
    }

    public void setDocDtRequest(Date docDtRequest) {
        this.docDtRequest = docDtRequest;
    }

    public String getDocTitleRequest() {
        return docTitleRequest;
    }

    public void setDocTitleRequest(String docTitleRequest) {
        this.docTitleRequest = docTitleRequest;
    }

    public String getDocNumRequest() {
        return docNumRequest;
    }

    public void setDocNumRequest(String docNumRequest) {
        this.docNumRequest = docNumRequest;
    }

    public String getConfirmUserName() {
        return confirmUserName;
    }

    public void setConfirmUserName(String confirmUserName) {
        this.confirmUserName = confirmUserName;
    }

    public String getUserNameStockIn() {
        return userNameStockIn;
    }

    public void setUserNameStockIn(String userNameStockIn) {
        this.userNameStockIn = userNameStockIn;
    }

    public String getNickNameRequest() {
        return nickNameRequest;
    }

    public void setNickNameRequest(String nickNameRequest) {
        this.nickNameRequest = nickNameRequest;
    }

    public void setStockInUuid(String stockInUuid)
    {
        this.stockInUuid = stockInUuid;
    }

    public String getStockInUuid()
    {
        return stockInUuid;
    }
    public void setWmsDictWarehouse(String wmsDictWarehouse)
    {
        this.wmsDictWarehouse = wmsDictWarehouse;
    }

    public String getWmsDictWarehouse()
    {
        return wmsDictWarehouse;
    }
    public void setFkPmsRequestUuid(String fkPmsRequestUuid)
    {
        this.fkPmsRequestUuid = fkPmsRequestUuid;
    }

    public String getFkPmsRequestUuid()
    {
        return fkPmsRequestUuid;
    }

    public List<WmsStockInDetails> getWmsStockInDetailsList()
    {
        return wmsStockInDetailsList;
    }

    public void setWmsStockInDetailsList(List<WmsStockInDetails> wmsStockInDetailsList)
    {
        this.wmsStockInDetailsList = wmsStockInDetailsList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("stockInUuid", getStockInUuid())
                .append("wmsDictWarehouse", getWmsDictWarehouse())
                .append("fkPmsRequestUuid", getFkPmsRequestUuid())
                .append("wmsStockInDetailsList", getWmsStockInDetailsList())
                .toString();
    }
}
